Подбор плотностей тел

Подбор плотностей тел

Данная процедура решает обратную задачу - подбор плотностей блоков в сеточной 3D модели, заданной через 3D ТОС, по соответствующему ей гравитационному полю, заданному сеточной 2D моделью через 2D ТОС.

Исходные данные

  1. 3D ТОС, содержащая классификационное свойство, задающее разбиение пространства на блоки.
  2. 2D ТОС, содержащее свойство, задающее гравитационное поле.
  3. (опционально) два свойства в 3D ТОС, задающие ожидаемую плотность блока и разброс.

Формализм

Каждому классу (блоку) с индексом i разбиения на n классов (блоков) соответствует модель поля ui¯, которое порождал бы блок, состоящий из ячеек класса i с эффективной плотностью 1g/cm3. Множество всех возможных {a¯} составляет линейное пространство с векторами a¯.

Измеренное гравитационное поле обозначим b¯. Тогда плотности блоков x¯={x'i} определяются решением линейной задачи:

A'x¯=b¯, (1)

где матрица A' состоит из вектор-столбцов ai¯. Так как система (1) наверняка несовместна, вместо ней решается задача минимизации функционала:

F'(x)=A'x¯b¯0,

Где – евклидова норма (длина вектора).

Считаем, что поле известно с точностью до константы. Добавляется единичный вектор и задача сводится к отысканию минимума следующего функционала:

F(x)=A'x¯+ξu¯b¯minx¯,ξ, (2)

u¯=(1,1,,1).

Чтобы исключить единичный вектор, каждый вектор-столбец ai¯ и b¯ приводят к виду, ортогональному u¯:

ai=ai¯u¯(ai¯u¯u¯),

b=b¯u¯(b¯u¯u¯).

Тогда задача выглядит следующим образом:

F(x)=Axbminx¯</math>.

В случае, если задача некорректна, можно использовать регуляризацию Тихонова в её простейшем случае:

F^(x)=(1α)Axb+αx. (3)

Регуляризация уменьшает некорректность, перемещая решение ближе к нулевому вектору за счёт ухудшения точности приближения вектора b. Параметр α определяет, насколько сильно влияет регуляризация на решение, и меняется в диапазоне от 0 (тогда F^(x)=F(x)) до 1 (тогда F^(x)=x и его минимум достигается при x=(0,0,,0)).

Функционал (3) достигает минимума на:

x=(ATA+αI)1ATb

Задача с ограничениями

Для решения задачи с ограничениями используется алгоритм BVLS[1].

Особенности

Если в исходных данных отсутствуют пропуски, то для двух наборов значений плотностей, отличающихся на константу (x¯ и x¯=x¯+C), их поля равны (Ax¯=Ax¯). То есть, плотности заданы с точностью до некоторой константы. Также при некоторых условиях такая особенность может иметь место и для некоторого подмножества K=i(1...N) тел (классов). При использовании регуляризации значение C подбирается так, чтобы плотности были близки к нулю, иначе либо C определяется исходя из заданных ограничений, либо выбирается случайно, в том числе может принять и неадекватно большую (положительную или отрицательную) величину. В этом случае надо относиться к плотностям как к эффективным, и далее подобрать и прибавить некоторую константу.

Алгоритм

Процедура состоит в выполнении следующих шагов:

  1. Анализ классификационного свойства, во время которого выясняется количество классов и их идентификаторы.
  2. Вычисление полей блоков – вектор-столбцов ai матрицы A.
  3. Вычисление матрицы ATA и вектора ATb¯.
  4. Вычисление x. Если матрица не имеет обратной, выдаётся соответствующее сообщение; в этом случае рекомендуется увеличить параметр α.
    1. В случае отсутствия ограничений - через разложение матрицы (ATA+αI).
    2. В случае заданных ограничений - через алгоритм BVLS[1].
  5. Запись результата в целевую 3D ТОС в виде распределения плотностей.

Параметры

  • Исходная ТОС 2D и исходное свойство: ТОС и имя свойства, содержащие исходное поле.
  • Экстраполяция - использовать ли зеркальную экстраполяцию. Если по каким-то причинам требуется использовать стандартную экстраполяцию, то её необходимо сделать отдельно.
  • Высота поля (Z) - высота, на которой находится плоскость, содержащая сетку, в которой задано поле, м.
  • Регуляризация - выполнять ли регуляризацию.
  • Альфа - коэффициент регуляризации α.
  • Альфа, дБ - коэффициент регуляризации α в логарифмических единицах.
  • ТОС 3D - ТОС 3D, содержащая классификацию и ограничения, если нужны.
  • Имя классового свойства - имя свойства в ТОС 3D, определяющего разбиение на блоки.
  • Использовать ограничения - использовать ли ограничения на вычислемые плотности блоков. При заданных ограничениях все плотности должны быть внутри интервала.
  • Середина интервала - свойство в 3D ТОС, задающее для каждого блока центр интервала, в котором ищется решение.
  • Полуширина интервала - свойство в 3D ТОС, задающее для каждого блока полуширину интервала, в котором ищется решение.
  • Целевое свойство - имя свойства в ТОС 3D, в которое записывается результат - распределение плотностей.

Рекомендации по использованию

Перед запуском алгоритма необходимо убедиться, что разбиение 3-хмерной ТОС «разумно».

Сложность представляет подбор параметра силы регуляризации α, так как в нём мало предметного смысла. Следует начинать с α=0. При этом следует сохранять поля классов, так как эта процедура – самая времязатратная. Если не удаётся рассчитать обратную матрицу или значения плотностей варьируются в областях, далёких от допустимых или разумных, следует увеличивать параметр α.

Регуляризация и ограничения

На данный момент нет возможности задать одновременно и ограничения, и коэффициент регуляризации.

Список литературы

1. P.B. Stark, R.L. Parker "Bounded-Variable Least-Squares: an Algorithm and Applications", Computational Statistics. 10:129-141